From: [email-masked]
Date: Wed, 15 Sep 93 12:32:06 EDT

Minutes of the CIW Full-Duplex SIG meeting on 09/08/93
------------------------------------------------------
The Full-Duplex SIG reviewed the proposal for which Approved Pages
was being requested.

The matter of secondary return codes for CM_CONVERSATION_ENDING on
calls to the send queue was discussed in detail. This discussion arose
because the Ssecondary Return Codes SIG recently determined that its
objective based on a revised requirements analysis (other than from the
FDX SIG) was to provide for secondary information, not Sec. RCs.

The FDX proposal dated 8/25/93 used secondary return codes for three
primary return codes as follows:
A) CM_CONVERSATION_ENDING (on send queue calls)
    - CM_ALLOCATION_ERROR
    - CM_DEALLOCATED_ABEND_*
    - CM_RESOURCE_FAILURE_*_RETRY
    - CM_NORMAL_DEALLOCATION
B) CM_DEALLOCATED_ABEND
    - CM_DEALLOCATED_CONFIRM_COLLISION
    - CM_BEGIN_TRANSACTION_COLLISION
C) CM_DEALLOCATED_ABEND_BO
    - CM_DEALLOC_CONFIRM_COLLISION

In the FDX SIG meeting, the attendees revisited the question of whether
secondary return codes were necessarily required or whether an alternate
design would suffice. For B) and C) above, it was discussed and agreed
that the secondary return codes will INSTEAD be available as
sccondary information. For A) above, the following three choices
I), II), and III) were considered and there was consensus on choice III).

I) Eliminate all secondary return codes for CM_CONVERSATION_ENDING. The
   The program is required to perform Receives to know the cause of the
   conversation ending if it is in Send-Receive state. The reason of
   the conversation ending may be available as secondary information to
   CM_CONVERSATION_ENDING but is not usable to the program.
   Drawback: The program is forced to do possible many Receives to know
             the cause of the conversation ending before it can decide
             on a course of action.
II) Need to architect an explicit secondary return code architecture
    in accordance with the proposal of 08/25/93.
    Drawback: Not worth having a secondary return code architecture only
              for this FDX requirement.
III) Do not return CM_CONVERSATION_ENDING on the calls with an affinity
     to the send queue (e.g., CMSEND, CMSERR, CMDEAL, CMFLUS, CMINCL).
     Instead, return one of the following primary return codes to the
     call.
    - CM_ALLOCATION_ERROR (new primary return code)
    - CM_DEALLOCATED_ABEND_*
    - CM_RESOURCE_FAILURE_*_RETRY
    - CM_DEALLOCATED_NORMAL (OSI TP only)
     When any of the above primary return codes is returned on the send
     queue calls, there is no state change if the current state is
     Send-Receive.
     The above return codes, with the exception of CM_ALLOCATION_ERROR,
     will also be returned to the Receive queue calls in
     the order in which it occurred with respect to the data before it.
     If CM_ALLOCATION_ERROR is returned on the send queue call, the
     exact cause of the allocation error will be known on the next
     Receive issued.

Approved Pages status was granted to the proposal document (with the
above changes to the return codes) in the plenary session
of the CIW on 09/10/93.

This SIG would like to get Closed Pages status on the FDX architecture
in the December CIW.

Regards,
Ajay Kshemkalyani
CIW FDX SIG Coordinator